package modelo;

import java.util.List;
import util.MedicamentoDosagemDecorado;

public class Prescricao {

    private long id;
    private List<MedicamentoDosagemDecorado> medicamentos;
    private Medico medico;
    private Residente residente;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public List<MedicamentoDosagemDecorado> getMedicamentosDosagens() {
        return medicamentos;
    }

    public void setMedicamentosDosagens(List<MedicamentoDosagemDecorado> medicamentos) {
        this.medicamentos = medicamentos;
    }

    public Medico getMedico() {
        return medico;
    }

    public void setMedico(Medico medico) {
        this.medico = medico;
    }

    public Residente getResidente() {
        return residente;
    }

    public void setResidente(Residente residente) {
        this.residente = residente;
    }

    public boolean igual(Prescricao prescricao) {
        boolean mesmo = false;
        List<MedicamentoDosagemDecorado> medicamentoExterno = prescricao.getMedicamentosDosagens();
        List<MedicamentoDosagemDecorado> medicamentoLocal = this.getMedicamentosDosagens();

        if (this.medico.igual(prescricao.medico) && this.residente.igual(prescricao.residente)) {
            mesmo = true;
            if (mesmo) {
                for (MedicamentoDosagemDecorado externo : medicamentoExterno) {
                    for (MedicamentoDosagemDecorado local : medicamentoLocal) {
                        if (!externo.igual(local)) {
                            mesmo = false;
                        }
                    }
                }
            }
        }
        return mesmo;
    }
}
